package com.weimob.mcloud.wechatwork.customer.service.user.module.dto.customer.process.request;


import com.weimob.mcloud.wechatwork.customer.service.user.base.BaseRequest;
import com.weimob.mcloud.wechatwork.customer.service.user.module.dto.customer.process.dto.CustomerStageDetailDTO;
import com.weimob.mcloud.wechatwork.customer.service.user.module.dto.customer.process.dto.ProcessAuthDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 修改客户流程请求体
 *
 * @author jiawei.you01
 * @date 2022/9/1 14:33
 * @since 1.0
 */
@Getter
@Setter
@ApiModel
public class UpdateCustomerProcessRequest extends BaseRequest {

    /**
     * 流程Id
     */
    @NotNull(message = "processId is not null")
    @ApiModelProperty("流程Id")
    private String processId;


    /**
     * 流程名称
     */
    @NotNull(message = "processName is not null")
    @ApiModelProperty("流程名称")
    private String processName;

    /**
     * 流程状态 1:开启 0:关闭
     */
    @NotNull(message = "status is not null")
    @ApiModelProperty("流程状态 1:开启 0:关闭")
    private Integer status;

    /**
     * 流程可见范围
     */
    @NotEmpty(message = "processAuthList is not empty")
    @ApiModelProperty("流程可见范围")
    private List<ProcessAuthDTO> processAuthList;

    /**
     * 客户阶段
     */
    @NotEmpty(message = "customerStage is not empty")
    @Size(max = 10,message = "customerStage size max 10")
    @ApiModelProperty("客户阶段")
    private List<CustomerStageDetailDTO> customerStage;

    /**
     * 操作用户wid
     */
    @ApiModelProperty("操作用户wid")
    private Long wid;
}
